FLASH memory is a type of nonvolatile memory that has gained in popularity in recent years. Examples of FLASH memory devices include thumb drives for transporting files between personal computing devices, memory sticks for use in digital cameras, and microSD cards for use in cellular telephones. Because FLASH memory devices are inexpensive, durable, and highly portable, it is likely that FLASH devices will continue to increase in popularity for the foreseeable future.
However, one drawback of FLASH memory is the delay in accessing data stored in the memory. This delay places limitations on the possible applications of FLASH memory devices. Thus, FLASH memory can be unacceptable for some execute-in-place (XiP) applications in which computer programs stored on the FLASH memory device are performed without copying the stored program into the host computer processor's random access memory. In these instances, especially those in which the XiP program is required to access the FLASH memory multiple times in order to carry out the program instructions, the accumulated delay can cause XiP programs to run unacceptably slow.